Error processing SSI file
LEADTOOLS Medical (Leadtools.Dicom.Scu assembly)

Show in webframe

Create<TData>(DicomScp,TData) Method






The type of the data to create the dataset from.
The peer connection to send the N-CREATE-REQ to.
The data to send in the request.
Sends an N-CREATE-REQ to the SCP.
Syntax
public void Create<TData>( 
   DicomScp Scp,
   TData Data
)
'Declaration
 
Public Overloads Sub Create(Of TData)( _
   ByVal Scp As DicomScp, _
   ByVal Data As TData _
) 
'Usage
 
Dim instance As PerformedProcedureStepScu
Dim Scp As DicomScp
Dim Data As TData
 
instance.Create(Of TData)(Scp, Data)

            

            
public:
void Creategeneric<typename TData>
( 
   DicomScp^ Scp,
   TData^ Data
) 

Parameters

Scp
The peer connection to send the N-CREATE-REQ to.
Data
The data to send in the request.

Type Parameters

TData
The type of the data to create the dataset from.
Remarks
A DicomDataset will be created from the Data parameter. This dataset will then be sent in the N-CREATE-REQ. The Data class should be decorated with the correct attributes for creating the dataset.
Example

Create a Modality Performed Procedure Step and sets it to complete.

Copy Code  
Imports Leadtools.Dicom.Common.DataTypes.Modality
Imports Leadtools.Dicom
Imports Leadtools.Dicom.Scu.Queries
Imports Leadtools.Dicom.Scu
Imports Leadtools.Dicom.Scu.Common
Imports Leadtools.Dicom.Common.Extensions

Private WorkLists As New List(Of ModalityWorklistResult)()

<TestMethod()> _
Public Sub PerformMPPS()
   DicomEngine.Startup()
   DicomNet.Startup()

   Dim query As New ModalityWorklistQuery()
   Dim scp As New DicomScp()
   Dim findMwl As New QueryRetrieveScu()

   scp.AETitle = "MWL_SERVER"
   scp.Port = 104
   scp.Timeout = 60
   scp.PeerAddress = IPAddress.Parse("192.168.0.209")
   findMwl.AETitle = "LEAD_CLIENT"
   findMwl.Find(Of ModalityWorklistQuery, ModalityWorklistResult)(scp, query, AddressOf FoundWorklist)

   '
   ' Create a Modality Perform Procedure Step
   If WorkLists.Count > 0 Then
      Dim mpps As ModalityPerformedProcedureStep = ModalityPerformedProcedureStep.From(WorkLists(0))
      Dim pps As New PerformedProcedureStepScu()

      pps.AETitle = "LEAD_CLIENT"
      AddHandler pps.BeforeNCreate, AddressOf pps_BeforeNCreate
      AddHandler pps.AfterNCreate, AddressOf pps_AfterNCreate
      AddHandler pps.BeforeNSet, AddressOf pps_BeforeNSet
      AddHandler pps.AfterNSet, AddressOf pps_AfterNSet

      '
      ' Initialize required procedure step variables
      '
      mpps.PerformedStationAeTitle = Environment.MachineName
      mpps.PerformedProcedureStepStartDate = DateTime.Now
      mpps.PerformedProcedureStepStartTime = DateTime.Now
      mpps.PerformedSeriesSequence(0).ProtocolName = ModalityPerformedProcedureStep.RandomId(16)
      mpps.PerformedSeriesSequence(0).SeriesInstanceUID = "1.2.3.4.5.890.1232"
      mpps.SOPInstance.SOPInstanceUid = "1.2.3.4.5.890.1240.1"

      Try
         pps.Create(Of ModalityPerformedProcedureStep)(scp, mpps)

         '
         ' Set the procedure step to done
         '
         mpps.PerformedProcedureStepEndDate = DateTime.Now
         mpps.PerformedProcedureStepEndTime = DateTime.Now
         mpps.PerformedProcedureStepStatus = "COMPLETED"
         pps.[Set](Of ModalityPerformedProcedureStep)(scp, mpps)
      Catch e As Exception
         Console.WriteLine(e.Message)
      End Try
   End If

   DicomEngine.Shutdown()
   DicomNet.Startup()
End Sub

Private Sub FoundWorklist(ByVal result As ModalityWorklistResult, ByVal ds As DicomDataSet)
   WorkLists.Add(result)
End Sub

Private Sub pps_BeforeNCreate(ByVal sender As Object, ByVal e As CommonEventArgs)
   Console.WriteLine("Before N-CREATE-REQ")
   Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
   Console.WriteLine(vbTab & "Instance: " & e.Instance)
   Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
   Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
End Sub

Private Sub pps_AfterNCreate(ByVal sender As Object, ByVal e As StatusCommonEventArgs)
   Console.WriteLine("After N-CREATE-REQ")
   Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
   Console.WriteLine(vbTab & "Instance: " & e.Instance)
   Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
   Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
   Console.WriteLine(vbTab & "Status: " & e.Status.ToString())
End Sub

Private Sub pps_BeforeNSet(ByVal sender As Object, ByVal e As CommonEventArgs)
   Console.WriteLine("Before N-SET-REQ")
   Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
   Console.WriteLine(vbTab & "Instance: " & e.Instance)
   Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
   Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
End Sub

Private Sub pps_AfterNSet(ByVal sender As Object, ByVal e As StatusCommonEventArgs)
   Console.WriteLine("After N-CREATE-REQ")
   Console.WriteLine(vbTab & "Affected Class: " & e.AffectedClass)
   Console.WriteLine(vbTab & "Instance: " & e.Instance)
   Console.WriteLine(vbTab & "MessageId: " & e.MessageID.ToString())
   Console.WriteLine(vbTab & "PresentationId: " & e.PresentationID.ToString())
   Console.WriteLine(vbTab & "Status: " & e.Status.ToString())
End Sub
using Leadtools.Dicom.Common.DataTypes.Modality;
using Leadtools.Dicom;
using Leadtools.Dicom.Scu.Queries;
using Leadtools.Dicom.Scu;
using Leadtools.Dicom.Common.Extensions;
using Leadtools.Dicom.Scu.Common;

List<ModalityWorklistResult> WorkLists = new List<ModalityWorklistResult>();

[TestMethod]
public void PerformMPPS()
{
    DicomEngine.Startup();
    DicomNet.Startup();

    ModalityWorklistQuery query = new ModalityWorklistQuery();
    DicomScp scp = new DicomScp();
    QueryRetrieveScu findMwl = new QueryRetrieveScu();

    scp.AETitle = "MWL_SERVER";
    scp.Port = 104;
    scp.Timeout = 60;
    scp.PeerAddress = IPAddress.Parse("192.168.0.209");
    findMwl.AETitle = "LEAD_CLIENT";
    findMwl.Find<ModalityWorklistQuery, ModalityWorklistResult>(scp, query, FoundWorklist);

    //
    // Create a Modality Perform Procedure Step
    if (WorkLists.Count > 0)
    {
        ModalityPerformedProcedureStep mpps = ModalityPerformedProcedureStep.From(WorkLists[0]);
        PerformedProcedureStepScu pps = new PerformedProcedureStepScu();

        pps.AETitle = "LEAD_CLIENT";
        pps.BeforeNCreate += new EventHandler<CommonEventArgs>(pps_BeforeNCreate);
        pps.AfterNCreate += new EventHandler<StatusCommonEventArgs>(pps_AfterNCreate);
        pps.BeforeNSet += new EventHandler<CommonEventArgs>(pps_BeforeNSet);
        pps.AfterNSet += new EventHandler<StatusCommonEventArgs>(pps_AfterNSet);

        //
        // Initialize required procedure step variables
        //

        mpps.PerformedStationAeTitle = Environment.MachineName;
        mpps.PerformedProcedureStepStartDate = DateTime.Now;
        mpps.PerformedProcedureStepStartTime = DateTime.Now;
        mpps.PerformedSeriesSequence[0].ProtocolName = ModalityPerformedProcedureStep.RandomId(16);
        mpps.PerformedSeriesSequence[0].SeriesInstanceUID = "1.2.3.4.5.890.1232";
        mpps.SOPInstance.SOPInstanceUid = "1.2.3.4.5.890.1240.1";

        try
        {
            pps.Create<ModalityPerformedProcedureStep>(scp, mpps);

            //
            // Set the procedure step to done
            //

            mpps.PerformedProcedureStepEndDate = DateTime.Now;
            mpps.PerformedProcedureStepEndTime = DateTime.Now;
            mpps.PerformedProcedureStepStatus = "COMPLETED";
            pps.Set<ModalityPerformedProcedureStep>(scp, mpps);                    
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
        }
    }

    DicomEngine.Shutdown();
    DicomNet.Startup();
}        

private void FoundWorklist(ModalityWorklistResult result, DicomDataSet ds)
{
    WorkLists.Add(result);
}

void pps_BeforeNCreate(object sender, CommonEventArgs e)
{
    Console.WriteLine("Before N-CREATE-REQ");
    Console.WriteLine("\tAffected Class: " + e.AffectedClass);
    Console.WriteLine("\tInstance: " + e.Instance);
    Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
    Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
}

void pps_AfterNCreate(object sender, StatusCommonEventArgs e)
{
    Console.WriteLine("After N-CREATE-REQ");
    Console.WriteLine("\tAffected Class: " + e.AffectedClass);
    Console.WriteLine("\tInstance: " + e.Instance);
    Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
    Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
    Console.WriteLine("\tStatus: " + e.Status.ToString());
}        

void pps_BeforeNSet(object sender, CommonEventArgs e)
{
    Console.WriteLine("Before N-SET-REQ");
    Console.WriteLine("\tAffected Class: " + e.AffectedClass);
    Console.WriteLine("\tInstance: " + e.Instance);
    Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
    Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
}

void pps_AfterNSet(object sender, StatusCommonEventArgs e)
{
    Console.WriteLine("After N-CREATE-REQ");
    Console.WriteLine("\tAffected Class: " + e.AffectedClass);
    Console.WriteLine("\tInstance: " + e.Instance);
    Console.WriteLine("\tMessageId: " + e.MessageID.ToString());
    Console.WriteLine("\tPresentationId: " + e.PresentationID.ToString());
    Console.WriteLine("\tStatus: " + e.Status.ToString());
}
Requirements

Target Platforms

See Also

Reference

PerformedProcedureStepScu Class
PerformedProcedureStepScu Members
Overload List

Error processing SSI file
Leadtools.Dicom.Scu requires a Medical toolkit license and unlock key. For more information, refer to: LEADTOOLS Toolkit Features